import 'dart:async';
import 'package:get/get.dart';
import '../../../routes/app_pages.dart';
import '../../../services/user_utils.dart';
import '../../../services/utils.dart';

class SplashController extends GetxController {
  // 倒计时数字
  final countdown = 3.obs;
  Timer? _timer;

  @override
  void onInit() {
    super.onInit();
    _startCountdown();
  }

  @override
  void onClose() {
    _timer?.cancel();
    super.onClose();
  }

  /// 开始3秒倒计时
  void _startCountdown() {
    _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
      if (countdown.value > 1) {
        countdown.value--;
      } else {
        timer.cancel();
        _checkLoginStatus();
      }
    });
  }

  /// 检查登录状态并导航到相应页面
  Future<void> _checkLoginStatus() async {
    try {
      // 获取token
      final token = await UserUtils.getToken();

      myLog("启动检查 - Token: $token");

      if (token != null && token.isNotEmpty) {
        // 已登录，跳转到tabs页面
        myLog("用户已登录，跳转到tabs页面");
        Get.offAllNamed(Routes.TABS);
      } else {
        // 未登录，跳转到登录页面
        myLog("用户未登录，跳转到登录页面");
        Get.offAllNamed(Routes.LOGIN);
      }
    } catch (e) {
      myLog("检查登录状态出错: $e");
      // 出错时默认跳转到登录页面
      Get.offAllNamed(Routes.LOGIN);
    }
  }
}
